package com.cqcis.uip.module.salary.oper;

import java.util.HashMap;
import java.util.Map;

import com.cqcis.uip.base.framework.UIPServiceException;
import com.cqcis.uip.base.framework.utils.TimeUtil;


/**
 * 
 * @author 李世军
 *
 * 创建于 2012-3-7 下午01:07:01
 */
public class SalaryConstants {
	// 员工状态
	public static String EMPLOYE_STATE_TRY = "1" ;// 1:入职-试用期间
	public static String EMPLOYE_STATE_NORMAL = "2" ;// 2:转正 
	public static String EMPLOYE_STATE_5 = "5" ;// 5:兼职 
	
	// 合同类型
	public static String CONTRACT_TYPE_NEW = "1" ; // 新签 
	public static String CONTRACT_TYPE_KEEP = "2" ; // 续费 
	public static String CONTRACT_TYPE_RET = "3" ; // 退费
	public static String CONTRACT_TYPE_CVT = "4" ; // 转介绍
	
	// 合同服务提成
	public static float CONTRACT_SERVICE_RATIO = 200 ; // 新签合同 固定提成200
	public static float CONTRACT_SERVICE_CARD = Float.parseFloat("0.99") ; // 刷卡按0.99算业绩
	
	// 课程
	public static String COURSE_ZH = "9999" ; // 综合服务费
	public static String COURSE_JT = "9998" ; // 交通费
	
	public static String SALARY_LEVEL_NONE = "10000" ;// 薪水等级(0)

	/**
	 * 合同业绩提成公式
	 * @param e1 业绩总额
	 * @return
	 */
	public static float getRelaRatio(float e1){
		if(e1<60000)
			return Float.parseFloat("0.04") ;
		if(e1>=60000 && e1<100000)
			return Float.parseFloat("0.05") ;
		
		return Float.parseFloat("0.06") ;
	}
	
	/**
	 * 兼职教师课时提成表
	 * @param gid 	年级
	 * @param oc	超课时数
	 * @return
	 */
	@Deprecated
	public static float getJZPrice(int gid, float oc){
		if(gid>=1 && gid<=5){
			if(oc<=69F){					return 33F;
			}else if(oc<=149F){				return 35F;
			}else if(oc<=199F){				return 35F;
			}else if(oc>=200F){				return 35F;
			}
		}else if(gid==6){
			if(oc<=69F){					return 40F;
			}else if(oc<=149F){				return 45F;
			}else if(oc<=199F){				return 45F;
			}else if(oc>=200F){				return 45F;
			}
		}else if(gid==7 || gid==8){
			if(oc<=69F){					return 45F;
			}else if(oc<=149F){				return 50F;
			}else if(oc<=199F){				return 52F;
			}else if(oc>=200F){				return 55F;
			}
		}else if(gid==9 || gid==10){
			if(oc<=69F){					return 50F;
			}else if(oc<=149F){				return 55F;
			}else if(oc<=199F){				return 57F;
			}else if(oc>=200F){				return 65F;
			}
		}else if(gid==11){
			if(oc<=69F){					return 60F;
			}else if(oc<=149F){				return 65F;
			}else if(oc<=199F){				return 68F;
			}else if(oc>=200F){				return 70F;
			}
		}else if(gid==12){
			if(oc<=69F){					return 65F;
			}else if(oc<=149F){				return 70F;
			}else if(oc<=199F){				return 75F;
			}else if(oc>=200F){				return 77F;
			}
		}
		
		throw new UIPServiceException("兼职教师课时提成表-不支持的年级或超课时数据:gid="+gid+",oc="+oc) ; 
	}
	
	/**
	 * 全职教师课时提成表
	 * @param gid 	年级
	 * @param oc	超课时数
	 * @return
	 */
	public static float getPrice(int gid, float oc){
		if(gid>=1 && gid<=5){
			if(oc<=39F){					return 32F;
			}else if(oc<=79F){				return 34F;
			}else if(oc<=119F){				return 37F;
			}else if(oc<=149F){				return 37F;
			}else if(oc<=119F){				return 37F;
			}else if(oc>=200F){				return 37F;
			}
		}else if(gid==6){
			if(oc<=39F){					return 35F;
			}else if(oc<=79F){				return 37F;
			}else if(oc<=119F){				return 40F;
			}else if(oc<=149F){				return 42F;
			}else if(oc<=119F){				return 45F;
			}else if(oc>=200F){				return 48F;
			}
		}else if(gid==7 || gid==8){
			if(oc<=39F){					return 40F;
			}else if(oc<=79F){				return 42F;
			}else if(oc<=119F){				return 45F;
			}else if(oc<=149F){				return 47F;
			}else if(oc<=119F){				return 50F;
			}else if(oc>=200F){				return 53F;
			}
		}else if(gid==9 || gid==10){
			if(oc<=39F){					return 45F;
			}else if(oc<=79F){				return 47F;
			}else if(oc<=119F){				return 50F;
			}else if(oc<=149F){				return 52F;
			}else if(oc<=119F){				return 55F;
			}else if(oc>=200F){				return 58F;
			}
		}else if(gid==11){
			if(oc<=39F){					return 50F;
			}else if(oc<=79F){				return 52F;
			}else if(oc<=119F){				return 55F;
			}else if(oc<=149F){				return 57F;
			}else if(oc<=119F){				return 59F;
			}else if(oc>=200F){				return 62F;
			}
		}else if(gid==12){
			if(oc<=39F){					return 60F;
			}else if(oc<=79F){				return 62F;
			}else if(oc<=119F){				return 65F;
			}else if(oc<=149F){				return 67F;
			}else if(oc<=119F){				return 69F;
			}else if(oc>=200F){				return 72F;
			}
		}
		
		throw new UIPServiceException("全职教师课时提成表-不支持的年级或超课时数据:gid="+gid+",oc="+oc) ; 
	}
	
	// 教师托管提成 KEY:年级 		VALUE:金额
	public static Map<String, Float> TRUSTEESHIP_RATIOS = new HashMap<String, Float>() ;
	static{
		TRUSTEESHIP_RATIOS.put("1", 90F) ;
		TRUSTEESHIP_RATIOS.put("2", 90F) ;
		TRUSTEESHIP_RATIOS.put("3", 90F) ;
		TRUSTEESHIP_RATIOS.put("4", 90F) ;
		TRUSTEESHIP_RATIOS.put("5", 100F) ;
		TRUSTEESHIP_RATIOS.put("6", 100F) ;
	}
	
	// 学管师托管提成
	public static float TRUSTEESHIP_RATIO_SM = 50F ; 
	
	// 托管提成一月天数
	public static int TRUSTEESHIP_DAYS = 3 ;//TODO 托管提成一月天数实际为22
	
	
	// TODO 日期暂时修改
	// 统计工资日期
//	public static String SALARY_GENERATE_DATE = TimeUtil.getCurrentTimeStr("yyyy-MM")+"-25" ;
//	public static String SALARY_BEGIN_DATE = TimeUtil.getCurrentTimeStr("yyyy-MM")+"-01" ;
//	public static String SALARY_END_DATE = TimeUtil.getCurrentTimeStr("yyyy-MM")+"-31" ;
	public static String SALARY_GENERATE_DATE = "2012-03"+"-25" ;
	public static String SALARY_BEGIN_DATE = "2012-03"+"-01" ;
	public static String SALARY_END_DATE = "2012-03"+"-31" ;
	
	// 合同查询日期
	public static String getStartDate(){
		//return TimeUtil.getCurrentTimeStr("yyyy-MM")+"-01" ;
		return "2012-03"+"-01" ;
	}
	public static String getEndDate(){
//		return TimeUtil.getCurrentTimeStr("yyyy-MM")+"-31" ;
		return "2012-03"+"-31" ;
	}
	
	// 学管师
	public static String OFFICE_30 = "30" ;
	// 教师
	public static String OFFICE_29 = "29" ;
	// 教学教务主管
	public static String OFFICE_28 = "28" ;
	
	
	// 学习方式
	public static String STUDY_TYPE_1 = "1" ;
	public static String STUDY_TYPE_2 = "2" ;
	public static String STUDY_TYPE_3 = "3" ;
	public static String STUDY_TYPE_4 = "4" ;
	public static String STUDY_TYPE_5 = "5" ;
	public static String STUDY_TYPE_N = "6" ;
	
	
	// 全职教师提成课时数
	public static float TACHER_COURSE_MUST = 40 ;
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
}
